草庐IT

索引 - B+Tree

全部标签

c# - LINQ中基于索引加入的有效方法

我已经编写了有效的代码,但我似乎找不到更好的方法来将具有相同索引的列表组合在一起。classApple{};classCarrot{};varapples=newlist();varcarrot=newlist();varcombine=fromainapplesfromcincarrotswhereapples.IndexOf(a)==carrots.IndexOf(c)selectnew{a,c};(当我说combine时,我并不是说追加到列表的末尾。{{a,b},{a,b},....{}}:也许我用错了术语试图研究。) 最佳答案

c# - 无法将带有 [] 的索引应用于 mvc Controller 中类型为“System.Collections.Generic.ICollection<int>”的表达式

publicActionResultaddstandardpackage1(ICollectionSingleStay,ICollectionDOUBLESTAY,ICollectionTRIBLESTAY,ICollectionFAMILYSTAY,ICollectionEXTRABED){vars=SingleStay;for(inti=0;i在for循环中,我收到类似无法将带[]的索引应用于类型表达式的错误,但我需要在for循环中,在我得到的每个中。因为基于for循环,我会将详细信息与其他集合列表绑定(bind)。请帮助我。我在varcal=Singlestay[i]中遇到错误。

c# parallel foreach 循环查找索引

我正在尝试读取文本文件中的所有行并计划显示每一行信息。如何找到循环内每个项目的索引?string[]lines=File.ReadAllLines("MyFile.txt");Listlist_lines=newList(lines);Parallel.ForEach(list_lines,(line,index)=>{Console.WriteLine(index);//Console.WriteLine(list_lines[index]);Console.WriteLine(list_lines[0]);});Console.ReadLine(); 最

c# - 为什么我可以将索引器应用于 VB.Net 中的 ICollection,但不能在 C# 中

正在将一些代码从VB.Net转换为C#,当我遇到这个时,在一些使用IonicZip库的代码中:DimzipEntry1AsZipEntry=zipFile1.Entries(0)足够简单:ZipEntryzipEntry1=zipFile1.Entries[0];我在C#上遇到这个错误:Cannotapplyindexingwith[]toanexpressionoftype'System.Collections.Generic.ICollection'两者都使用相同版本的DLL,在zipFile1.Entries上都是通用的ICollection。我已经在VB.Net上测试了以下内容

c# - 从列表中排除一个项目(按索引),并采取所有其他

有一个List包含一些数字集。我随机选择一个索引,它将单独处理(称之为master)。现在,我想排除这个特定的索引,并获取List的所有其他元素。(称他们为奴隶)。varitems=newList{55,66,77,88,99};intMasterIndex=newRandom().Next(0,items.Count);varmaster=items.Skip(MasterIndex).First();//HowtogettheotheritemsintoanotherListnow?/*--items.Join;--items.Select;--items.Except*/Join

c# - 从 .NET HashSet 按索引选择元素

目前我正在使用派生自HashSet的自定义类。当我在特定条件下选择项目时,代码中有一点:varc=clusters.Where(x=>x.Label!=null&&x.Label.Equals(someLabel));它工作正常,我得到了那些元素。但是有没有一种方法可以接收集合中该元素的索引以与ElementAt方法一起使用,而不是整个对象?它看起来或多或少是这样的:varc=selectelementindexincollectionundercertaincondition;intindex=c.ElementAt(0);//getfirstindexclusters.Elemen

c# - 从表达式树访问索引器

我正在研究过滤功能。过滤器将是由用户构建的表达式树。用户可以使用大约30个字段进行过滤。我认为最好的方法是使用索引器创建对象模型,并通过枚举类型的索引访问所需的值。看这个例子:enumField{Name,Date,}classObjectModel{objectthis[FieldKey]{get{//...returnxx;}}}我想问一下如何从表达式树访问索引器。 最佳答案 我将发布一个关于如何使用索引器的完整示例:ParameterExpressiondictExpr=Expression.Parameter(typeof(

c# - 无法使用 C# 将带 [] 的索引应用于类型为 'System.Array' 的表达式

我正在尝试使用包含字符串数组的列表,但是当我尝试使用方括号访问数组元素时,我收到错误消息。我的数组列表是这样声明的:publicListalphabet=newList();我还有一个像这样声明的字符串数组:string[]encrypted=newstring[text.Length];我可以访问一个数组,但不能访问另一个数组stringa=alphabet[1][2];//thisgivesmeanerrorstringb=encrypted[1];//thisworksfine 最佳答案 错误非常简单;您不能在Array上使用

c# - 获取通用列表中对象的索引

我有一个自定义对象列表,其中有两个属性作为标识符(IDa和IDb)。每次我删除一个对象时,我都需要知道它的索引。如何在不循环所有列表的情况下获取对象的索引?Listlist=newList();list.RemoveAll((MiniMapRecordp)=>p.IDa==IDa.SystemID&p.IDb==pInputRecordMap.IDb); 最佳答案 你想要的方法是FindIndex(Predicate)intindex=list.FindIndex(MiniMapRecordp=>p.IDa==IDa.SystemI

c# - 我可以使用正则表达式查找 X 的索引吗?

我有一个很大的字符串,想找到第一个出现的X,X是“numberXnumber”……3X3,或者4X9……我如何在C#中执行此操作? 最佳答案 vars="longstring.....24X10.....1X3";varmatch=Regex.Match(s,@"\d+X\d+");if(match.Success){Console.WriteLine(match.Index);//16Console.WriteLine(match.Value);//24X10;}另请查看NextMatch,这是一个方便的函数match=match